import {
  getFields,
  getCityAll
} from '@/api/user.js'

import {
  setScreen
} from '@/utils/util'
import {useCounterStore} from "@/pinia/user";


// 证件类型
export function idType() {
  return ['居民身份证', '因公护照', '因私护照']
}



// 是否
export function yesNo() {
  return ['是', '否']
}

const arr = [
  // 是否
  {
    key: 'yeNo',
    type: '1'
  },
  // 政治面貌
  {
    key: 'politicalOutlook',
    type: '2'
  },
  // 民族
  {
    key: 'nationType',
    type: '3'
  },
  // 婚姻状况
  {
    key: 'maritalStatus',
    type: '4'
  },
  // 户口性质
  {
    key: 'registryType',
    type: '5'
  },
  // 邮箱类型
  {
    key: 'emailType',
    type: '6'
  },
  // 电话类型
  {
    key: 'mobileType',
    type: '7'
  },
  // 地址类型
  {
    key: 'addressType',
    type: '8'
  },
  // 关系
  {
    key: 'isRelation',
    type: '9'
  },
  // 工资等级
  {
    key: 'wageScale',
    type: '10'
  },
  // 国家
  {
    key: 'isCountry',
    type: '40'
  },
  // 证件类型
  {
    key: 'documentType',
    type: '20'
  },
  // 主要联系方式
  {
    key: 'mianMobile',
    type: '41'
  },
  // 学历
  {
    key: 'educationType',
    type: '23'
  },
  // 学制
  {
    key: 'educationalSystem',
    type: '24'
  },
  // 学校类型
  {
    key: 'schoolType',
    type: '25'
  },
  // 培养方式
  {
    key: 'trainType',
    type: '26'
  },
  // 获取方式
  {
    key: 'acquisitionType',
    type: '27'
  },
  // 职称等级
  {
    key: 'titleGrade',
    type: '28'
  },
  // 技能的等级
  {
    key: 'skillGrade',
    type: '29'
  },
  //  单据类型
  {
    key: 'orderType',
    type: '19'
  },
  //  人员类型
  {
    key: 'employeeType',
    type: '18'
  },
  //  归属地类型
  {
    key: 'isAttribution',
    type: '30'
  },
  //  紧急联系人关系
  {
    key: 'FamilyRelation',
    type: '42'
  },
  {
    key:'traineeYeNo',
    type:'51'
  }
]


// export async function listArr() {
//   const obj = await getAduitNodeData(arr)
//   return obj
// }


async function listArrA() {
  const CounterStore = useCounterStore()
  const b = CounterStore.HireType
  //                  正式工                         派遣                      小时                     应届生
  const c = b === 'regular' ? '1' : b === 'dispatched' ? '2' : b === 'Hours' ? '3' : b === 'trainee' ? '4' : ''
  const obj = {}
  const promises = arr.map(params => {
    return getFields({
      id: params.type,
      employeeType:c
    }).then(result => {
      if (result && result.success) {
        obj[params.key] = result.message
      } else {
        console.error(result.message)
      }
    });
  });
  const a = await Promise.all(promises)
  obj.isCountry = await isCountry()

  return obj;
}

async function isCountry() {
  let {
    message
  } = await getCityAll()
  message = setScreen(message, {
    value: 'name',
    label: 'name'
  })
  return message
}

let data = {}
export async function listArr() {
  if (Object.keys(data).length === 0) data = await listArrA()
  return data
}
